package com.ctshk.rpc.guide.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import com.ctshk.common.model.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 * 团队分配表（派团）
 * </p>
 *
 * @author 谢诗宏
 * @since 2021-02-25
 */
@Data
@TableName(value = "t_group_distribution",autoResultMap = true)
@ApiModel(value="GroupDistribution对象", description="团队分配表（派团）")
public class GroupDistribution extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "团类型(1：旅行团 2：定制包团)")
    private Integer groupType;

    @ApiModelProperty(value = "团状态（1：已成团 2：开售）")
    private Integer groupStatus;

    @ApiModelProperty(value = "团id")
    private Long groupId;

    @ApiModelProperty(value = "团号")
    private String groupNumber;

    @ApiModelProperty(value = "天数")
    private Integer days;

    @ApiModelProperty(value = "要求")
    private String requirement;

    @ApiModelProperty(value = "已收数量")
    private Integer receivedNumber;

    @ApiModelProperty(value = "总数量")
    private Integer totalNumber;

    @ApiModelProperty(value = "集合时间")
    private LocalDateTime aggregateTime;

    @ApiModelProperty(value = "散团时间")
    private LocalDateTime scatteredTime;

    @ApiModelProperty(value = "集合地点id")
    private Long collectionPlaceAreaId;

    @ApiModelProperty(value = "集合地点名称")
    private String collectionPlaceAreaName;

    @ApiModelProperty(value = "是否小费（0：否 1：是）")
    private Integer isTips;

    @ApiModelProperty(value = "行程标题")
    private String tripTitle;

    @ApiModelProperty(value = "类型（1：领队 2：导游）")
    private Integer type;

    @ApiModelProperty(value = "状态（1：待派团 2：已派团）")
    private Integer status;

    @TableField(typeHandler = FastjsonTypeHandler.class)
    @ApiModelProperty(value = "全陪用户证件类型ids")
    private List<Long> fullCompanyCertificates;

    @TableField(typeHandler = FastjsonTypeHandler.class)
    @ApiModelProperty(value = "送团用户证件类型ids")
    private List<Long> giveGroupCertificates;

    @ApiModelProperty(value = "创建人")
    private Long createId;

    @ApiModelProperty(value = "修改人")
    private Long modifiedId;

    @ApiModelProperty(value = "删除标识")
    private Integer isDeleted;

}
